package com.newasia.management;
/**
 * Created by mic on 2019/7/30.
 */


import com.newasia.management.dto.productSku.*;
import com.newasia.management.dto.productSkuPerm.ChangeSkuPermRequest;
import com.newasia.management.dto.productSkuPerm.ChangeSkuPermResponse;
import com.newasia.management.dto.productSpec.*;
import com.newasia.management.dto.productSpecValue.*;
import com.newasia.management.dto.productSpu.*;


/**
 * lyh
 * 后台商品管理
 */
public interface IManagementItemsService {






    //商品

    /**
     * 创建商品-父
     * @return

     */
    CreateSpuResponse createSpu(CreateSpuRequest request);

    /**
     * 创建商品-子
     * @return

     */
    CreateSkuResponse createSku(CreateSkuRequest request);
    /**
     * 删除商品-父
     * @return

     */
    DeleteSpuResponse deleteSpu(Long spuId);

    /**
     * 删除商品-子
     * @return

     */
    DeleteSkuResponse deleteSku(Long skuId);
    /**
     * 修改商品-父
     * @return

     */
    ChangeSpuResponse changeSpu(Long spuId, ChangeSpuRequest request);
    /**
     * 修改商品-子
     * @return

     */
    ChangeSkuResponse changeSku(Long skuId, ChangeSkuRequest request);

    /**
     * 修改商品代理商
     * @return

     */
    ChangeSkuPermResponse changeSkuPerm(ChangeSkuPermRequest request);
    /**
     * 获取商品列表-父
     * @return
     * @param request
     */
    GetGoodListResponse getGoodList(GetGoodListRequest request);

    /**
     * 获取商品详情-父
     * @return
     */
    GetGoodResponse getGood(Long spuId);
    /**
     * 获取商品列表-子
     * @return
     * @param request
     */
    GetSkuListResponse getSkuList(GetSkuListRequest request);

    /**
     * 批量上架下架删除
     * @param request
     * @return ShelvesSpuListResponse
     */
    ShelvesSpuListResponse updateShelvesSpuList(ShelvesSpuListRequest request);
}
